#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int HPDataType;

typedef struct Heap
{
	HPDataType* a;
	int size;
	int capacity;
}HP;

void HPInit(HP* ph);
void HPDestroy(HP* ph);
// 插入后保持数据是堆
void HPPush(HP* ph, HPDataType x);
HPDataType HPTop(HP* ph);

// 删除堆顶的数据
void HPPop(HP* ph);

bool HPEmpty(HP* ph);